from django.db import models

class Admin(models.Model):
    """管理员"""
    username = models.CharField(verbose_name="用户名", max_length=32)
    password = models.CharField(verbose_name="密码", max_length=32)
    def __str__(self):
        return self.username


# 部门管理
class Department(models.Model):
    """部门表"""
    #id = models.BigAutoField(verbose_name="ID", primary_key=True)
    title = models.CharField(verbose_name="标题", max_length=32,null="True",blank="True")
    def __str__(self):
        return self.title

class UserInfo(models.Model):
    """员工表"""
    name = models.CharField(verbose_name="姓名", max_length=16)
    password = models.CharField(verbose_name="密码", max_length=64)
    age = models.IntegerField(verbose_name="年龄", default=0)
    account = models.DecimalField(verbose_name="账户余额",max_digits=10,decimal_places=2,default=0)

    #create_time = models.DateTimeField(verbose_name="入职时间")
    create_time = models.DateField(verbose_name="入职时间")
    # #无约束的
    # depart_id = models.BigIntegerField(verbose_name="部门ID")

    #有约束
    # 1.—to, 与那张表关联
    # - to_field. 表中的那一列关联
    # 2.django自动
    # - 写的depart
    # - 生成数据列 depart_id
    # 3.部门表被删除
    # ####3.1 级联删除
    depart = models.ForeignKey(verbose_name="部门", to = "Department", to_field="id", on_delete = models.CASCADE)
    # ###3.2 置空
    #depart = models.ForeignKey(to = "Department", to_field="id", null=True, blank=True, on_delete = models.CASCADE)

    # 在django中做约束 男女
    gender_choices =(
        (1, '男'),
        (2,'女'),
    )

    gender = models.SmallIntegerField(verbose_name="性别",choices=gender_choices)

class MobileInfo(models.Model):
    """靓号表"""
    mobile = models.CharField(verbose_name="手机号",max_length=11)
    price = models.DecimalField(verbose_name="价格",max_digits=10,decimal_places=2,default=0)
    level_choice=(
        (1,"一级靓号"),
        (2, "二级靓号"),
        (3, "三级靓号"),
        (4, "四级靓号"),
        (5, "五级靓号"),
    )
    level=models.SmallIntegerField(verbose_name="级别",choices=level_choice,default=1)
    status_choice=(
        (1,"已占用"),
        (2,"未使用")
    )
    status = models.SmallIntegerField(verbose_name="状态",choices=status_choice,default=2)

class Task(models.Model):
    """任务"""
    level_choices =(
        (1,'紧急'),
        (2,'重要'),
        (3,'临时')
    )
    level = models.SmallIntegerField(verbose_name="级别",choices=level_choices,default=1)
    title = models.CharField(verbose_name="标题", max_length=64)
    detil = models.TextField(verbose_name="详细信息")

    user = models.ForeignKey(verbose_name="负责人", to="Admin",on_delete=models.CASCADE)

class Order(models.Model):
    """订单"""
    oid = models.CharField(verbose_name="订单号", max_length=64)
    title = models.CharField(verbose_name="名称", max_length=64)
    price = models.IntegerField(verbose_name="价格")

    status_choice = {
        (1,"待支付"),
        (2,"已支付"),
    }
    status = models.SmallIntegerField(verbose_name="状态",choices=status_choice,default=1)
    admin  = models.ForeignKey(verbose_name="管理员", to="Admin", on_delete=models.CASCADE)